cancel all pending handles in the button list. (Fixes #341035, reported by
authorKristian Rietveld <kris@imendio.com>
Tue, 16 May 2006 12:36:07 +0000 (12:36 +0000)
committerKristian Rietveld <kristian@src.gnome.org>
Tue, 16 May 2006 12:36:07 +0000 (12:36 +0000)
2006-05-16  Kristian Rietveld  <kris@imendio.com>

* gtk/gtkpathbar.c (gtk_path_bar_dispose): cancel all pending handles
in the button list. (Fixes #341035, reported by William Jon McCann).

ChangeLog
ChangeLog.pre-2-10
gtk/gtkpathbar.c

index a57830c4dec974ee85a4bdb88c1ef542efd1a2cd..33be26c1061dbfba77cbbdaa890d121e220b65c2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-05-16  Kristian Rietveld  <kris@imendio.com>
+
+       * gtk/gtkpathbar.c (gtk_path_bar_dispose): cancel all pending handles
+       in the button list. (Fixes #341035, reported by William Jon McCann).
+
 2006-05-16  Kristian Rietveld  <kris@imendio.com>
 
        * gtk/gtkfilechooserdefault.c
index a57830c4dec974ee85a4bdb88c1ef542efd1a2cd..33be26c1061dbfba77cbbdaa890d121e220b65c2 100644 (file)
@@ -1,3 +1,8 @@
+2006-05-16  Kristian Rietveld  <kris@imendio.com>
+
+       * gtk/gtkpathbar.c (gtk_path_bar_dispose): cancel all pending handles
+       in the button list. (Fixes #341035, reported by William Jon McCann).
+
 2006-05-16  Kristian Rietveld  <kris@imendio.com>
 
        * gtk/gtkfilechooserdefault.c
index 6b87056edd82df6b2a3025638a37f2eaa0318163..1e25b6b7cfe6cdbaba0badbf1e3e4b59ee50c650 100644 (file)
@@ -250,6 +250,7 @@ remove_settings_signal (GtkPathBar *path_bar,
 static void
 gtk_path_bar_dispose (GObject *object)
 {
+  GList *list;
   GtkPathBar *path_bar = GTK_PATH_BAR (object);
 
   remove_settings_signal (path_bar, gtk_widget_get_screen (GTK_WIDGET (object)));
@@ -258,6 +259,15 @@ gtk_path_bar_dispose (GObject *object)
     gtk_file_system_cancel_operation (path_bar->set_path_handle);
   path_bar->set_path_handle = NULL;
 
+  for (list = path_bar->button_list; list; list = list->next)
+    {
+      ButtonData *button_data = BUTTON_DATA (list->data);
+
+      if (button_data->handle)
+       gtk_file_system_cancel_operation (button_data->handle);
+      button_data->handle = NULL;
+    }
+
   G_OBJECT_CLASS (gtk_path_bar_parent_class)->dispose (object);
 }